// 学生信息管理的路由器模块文件

// 1. 导入express
const express = require("express");
// 导入stu数据模型对象
const stuModel = require("../models/stuModel");
// 2. 创建路由器对象
const router = express.Router();
// 3. 配置当前信息管理的路由
// (get  /) 浏览学员信息
router.get("/", (req, res) => {
    // 通过stuModel获取MongoDB中学生信息，并响应
    stuModel.find({}, (err,data) => {
        const json_data = {}; // 声明响应的数据变量
        if(err){
            json_data.code = 1004;
            json_data.message = "数据库查询失败！";
        } else {
            json_data.code = 200;
            json_data.message = "success";
            json_data.data = data;
        }
        // 响应json数据
        res.json(json_data);
    });
});
// (post  /add) 执行学员信息添加操作
router.post("/add",(req, res) => {
    // 从请求对象中获取要添加的信息
    const data = req.body;
    //此处会做服务器端的数据验证，若有问题则响应json错误信息

    // 使用stuModel执行数据信息添加
    stuModel.create(data, (err, data) => {
        const json_data = {}; // 声明响应的数据变量
        if(err){
            json_data.code = 1004;
            json_data.message = "数据添加失败！";
        } else {
            json_data.code = 200;
            json_data.message = "success";
            json_data.data = data;
        }
        // 响应json数据
        res.json(json_data);
    });
});

// (get /del) 执行学员信息删除操作
router.get("/del", (req, res) => {
    // 获取要删除的信息id号
    let id = req.query.id;  // 从get请求url中查询字串中获取
    // 使用stuModel执行数据删除操作
    stuModel.deleteOne({_id:id}, (err, data) => {
       const json_data = {}; // 声明响应的数据变量
        if(err){
            json_data.code = 1004;
            json_data.message = "数据删除失败！";
        } else {
            json_data.code = 200;
            json_data.message = "success";
            json_data.data = {rows:1};
        }
        // 响应json数据
        res.json(json_data);
    });
});

// 4. 暴露当前路由器（导出）
module.exports = router;
